package cn.IT.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public interface IBaseDAO<T> {
	// 根据ID加载实体
		T get(Class<T> entityClazz , Serializable id);
		// 保存实体
		Serializable save(T entity);
		// 更新实体
		void update(T entity);
		void saveOrUpdate(T entity);
		// 删除实体
		void delete(T entity);
		// 根据ID删除实体
		void delete(Class<T> entityClazz , Serializable id);
		// 获取所有实体
		List<T> findAll(Class<T> entityClazz);
		// 获取实体总数
		long findCount(Class<T> entityClazz);
		// 根据HQL语句查询实体
		List<T> find(String hql);
		 //通过带参hql查询
		public List<T> find(String hql,Map<String,Object>params);
}
